package org.lanqiao.heuet.action;

import java.util.List;

import org.lanqiao.heuet.bean.EmployeeInfoBean;
import org.lanqiao.heuet.service.IEmployeeService;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
/**
 * aciton层是控制转发层
 * 控制转发层调用service层进行业务逻辑处理，并将处理结果转发到不同的结果视图中
 * @author Administrator
 *
 */
public class EmployeeAction extends ActionSupport {

	/*
	 * struts中服务器段的响应方法返回值是string类型： 常用的 success -- 处理成功 input -- 输入内容有误 error
	 * -- 错误 fail -- 处理失败
	 * 
	 * 这些返回的字符串，和struts.xml配置文件的action中的result标签的name属性的内容时一一对应的
	 * 
	 * 只要是用来从前台页面接受数据的成员变量，都需要生成getter/setter方法
	 * action用来接收数据的变量命名：要求前两个字符小写，后面第二个单词首字母大写的方式命名。
	 * 主要是需要满足前两个字母小写。
	 * 
	 */
	
	/**
	 * action用来从前台获取数据的bean实例对象载体
	 */
	private EmployeeInfoBean employeeInfoB;

	/**
	 * 使用spring的依赖注入完成改变量的初始化操作
	 */
	private IEmployeeService employeeService;
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 6482572924262132869L;

	

	/**
	 * 员工注册处理响应的方法
	 * @return 处理结果串
	 * @throws Exception
	 */
	public String addEmployeeInfo() throws Exception{
		//调用service层进行业务逻辑处理：保存用户注册信息
		employeeService.addEmployeeInfo(employeeInfoB);
		//转发到添加结果显示页面，显示添加的用户信息
		//获取所有的用户信息list
		List<EmployeeInfoBean> lstEmployees = employeeService.queryAllEmployeeInfo(1);
		//使用session将需要显示的值，传递到前台页面
		//获取当前action的session对象
		ActionContext.getContext().getSession().put("lstEmployeeInfoBs", lstEmployees);
		//返回转发结果串
		return "success";
		
	}

	public EmployeeInfoBean getEmployeeInfoB() {
		return employeeInfoB;
	}



	public void setEmployeeInfoB(EmployeeInfoBean employeeInfoB) {
		this.employeeInfoB = employeeInfoB;
	}



	public IEmployeeService getEmployeeService() {
		return employeeService;
	}



	public void setEmployeeService(IEmployeeService employeeService) {
		this.employeeService = employeeService;
	}
	

}
